/**
 * Project hdmap
 * @author shengjialiang
 * @version v1.0
 */


#ifndef _OBJECT_H
#define _OBJECT_H

#include "map_common/CommonConfig.h"
#include "osg/referenced"
namespace Common
{
	class MAP_COMMON_EXPORTS CObject : public osg::Referenced
    {
    public:

        CObject();

        virtual ~CObject();

        static std::string generateGuid();

		virtual std::string getID();

		virtual void setID(const std::string& in_id);

		virtual std::string getName();

		virtual void setName(const std::string& in_name);

		virtual std::string getType();

		virtual void setType(const std::string& in_type);

        virtual CObject* clone();

        virtual void copyTo(CObject* in_pDestObject);
    private:
        std::string mID;
        std::string mType;
        std::string mName;
    };
}
#endif //_OBJECT_H